import Vue from 'vue'
import locale from 'element-ui/lib/locale/lang/zh-CN'

// 全局引用
// import Element from 'element-ui'

// 按需引用
import {
    Pagination,
    Dialog,
    // Autocomplete,
    // Dropdown,
    // DropdownMenu,
    // DropdownItem,
    // Menu,
    // Submenu,
    // MenuItem,
    // MenuItemGroup,
    Input,
    // InputNumber,
    Radio,
    RadioGroup,
    RadioButton,
    Checkbox,
    CheckboxButton,
    CheckboxGroup,
    Switch,
    Select,
    Option,
    OptionGroup,
    Button,
    ButtonGroup,
    // Table,
    // TableColumn,
    // DatePicker,
    // TimeSelect,
    // TimePicker,
    // Popover,
    // Tooltip,
    // Breadcrumb,
    // BreadcrumbItem,
    Form,
    FormItem,
    // Tabs,
    // TabPane,
    Tag,
    // Tree,
    Alert,
    // Slider,
    Icon,
    Row,
    Col,
    // Upload,
    // Progress,
    Spinner,
    Badge,
    Card,
    // Rate,
    // Steps,
    // Step,
    // Carousel,
    // CarouselItem,
    // Collapse,
    // CollapseItem,
    // Cascader,
    // ColorPicker,
    // Transfer,
    // Container,
    // Header,
    // Aside,
    // Main,
    // Footer,
    Timeline,
    TimelineItem,
    Link,
    // Divider,
    Image,
    Calendar,
    Backtop,
    // PageHeader,
    // CascaderPanel,
    Loading,
    MessageBox,
    Message,
    Notification,
    Drawer
} from 'element-ui'

// 自定义主题样式(这里我们会在这个文件内引入我们所需的组件的样式)
import '../assets/scss/variables.scss'
// Vue.use(Element, { locale })

// 按需使用
const components = [
    // Pagination,
    // Dialog,
    // Autocomplete,
    // Dropdown,
    // DropdownMenu,
    // DropdownItem,
    // Menu,
    // Submenu,
    // MenuItem,
    // MenuItemGroup,
    Input,
    // InputNumber,
    // Radio,
    // RadioGroup,
    // RadioButton,
    // Checkbox,
    // CheckboxButton,
    // CheckboxGroup,
    Switch,
    // Select,
    // Option,
    // OptionGroup,
    Button,
    ButtonGroup,
    // Table,
    // TableColumn,
    // DatePicker,
    // TimeSelect,
    // TimePicker,
    // Popover,
    // Tooltip,
    // Breadcrumb,
    // BreadcrumbItem,
    Form,
    FormItem,
    // Tabs,
    // TabPane,
    Tag,
    // Tree,
    Alert,
    // Slider,
    Icon,
    Row,
    Col,
    // Upload,
    // Progress,
    // Spinner,
    Badge,
    Card,
    // Rate,
    // Steps,
    // Step,
    // Carousel,
    // CarouselItem,
    // Collapse,
    // CollapseItem,
    // Cascader,
    // ColorPicker,
    // Transfer,
    // Container,
    // Header,
    // Aside,
    // Main,
    // Footer,
    // Timeline,
    // TimelineItem,
    // Link,
    // Divider,
    Image,
    // Calendar,
    Backtop,
    Drawer
    // PageHeader,
    // CascaderPanel
]
Vue.use(Loading.directive)

Vue.prototype.$loading = Loading.service
Vue.prototype.$msgbox = MessageBox
Vue.prototype.$alert = MessageBox.alert
Vue.prototype.$confirm = MessageBox.confirm
Vue.prototype.$prompt = MessageBox.prompt
Vue.prototype.$notify = Notification
Vue.prototype.$message = Message
const Element = {
    install (Vue) {
        components.forEach(component => {
            Vue.component(component.name, component)
        })
    }
}

Vue.use(Element, { locale })
